#include <unordered_map>
#include <vector>
using namespace std;

class Solution {
public:
  int singleNumber(vector<int> &nums) {
    unordered_map<int, int> numMap;
    for (const auto &item : nums) {
      if (numMap.find(item) == numMap.end()) {
        numMap.insert({item, 1});
      } else {
        ++numMap[item];
      }
    }

    for (const auto &kv : numMap) {
      if (kv.second == 1) {
        return kv.first;
      }
    }
    return -1;
  }
};
